package com.sskj.gateway.session;

import org.springframework.stereotype.Component;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * 设备会话管理
 */
@Component
public class DeviceSessionManager {

    // 会话存储
    private final Map<String, DeviceSession> sessions = new ConcurrentHashMap<>();

    /**
     * 注册设备会话
     * @param deviceCode 设备编码
     * @param deviceSession 设备会话实例
     */
    public void registerSession(String deviceCode, DeviceSession deviceSession) {
        sessions.put(deviceCode, deviceSession);
    }

    /**
     * 移除设备会话
     * @param deviceCode 设备编码
     */
    public void remove(String deviceCode) {
        sessions.remove(deviceCode);
    }

    /**
     * 获取设备会话
     * @param deviceCode 设备编码
     * @return 会话实例
     */
    public DeviceSession getSession(String deviceCode) {
        return sessions.get(deviceCode);
    }
}
